package com.tgky.ybzb.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.tgky.ybzb.common.PageParam;
import com.tgky.ybzb.utils.MPUtil;
import com.tgky.ybzb.entity.XdzyDmz;
import com.tgky.ybzb.mapper.XdzyDmzMapper;
import com.tgky.ybzb.service.IXdzyDmzService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

/**
 * 地面站表 服务实现类
 *
 * @author XYP
 * @since 2024-07-22
 */
@Service
public class XdzyDmzServiceImpl extends ServiceImpl<XdzyDmzMapper, XdzyDmz> implements IXdzyDmzService {

    /**
     * 通过实体类获取QueryWrapper
     * @param pageParam 分页参数
     * @param xdzyDmz 实体信息
     * @return
     */
    @Override
    public QueryWrapper<XdzyDmz> getQueryWrapper(PageParam pageParam, XdzyDmz xdzyDmz){
        QueryWrapper<XdzyDmz> queryWrapper = MPUtil.getQueryWrapper(pageParam);

        if(xdzyDmz == null){
            return queryWrapper;
        }

        //主键
        if(xdzyDmz.getId() != null){
            queryWrapper.lambda()
                    .eq(XdzyDmz::getId, xdzyDmz.getId());
            return queryWrapper;
        }

        //TODO 此处可以根据各字段查询需求修改查询条件，eq、like、ge、gt、le、lt、ne...等等等
        queryWrapper.lambda()
                .eq(xdzyDmz.getDmzbs() != null, XdzyDmz::getDmzbs, xdzyDmz.getDmzbs())
                .eq(xdzyDmz.getTxbs() != null, XdzyDmz::getTxbs, xdzyDmz.getTxbs())
                .eq(xdzyDmz.getTxmc() != null, XdzyDmz::getTxmc, xdzyDmz.getTxmc())
                .eq(xdzyDmz.getZxgzyj() != null, XdzyDmz::getZxgzyj, xdzyDmz.getZxgzyj())
                .eq(xdzyDmz.getZxjsyj() != null, XdzyDmz::getZxjsyj, xdzyDmz.getZxjsyj())
                .eq(xdzyDmz.getZxckyj() != null, XdzyDmz::getZxckyj, xdzyDmz.getZxckyj())
                .eq(xdzyDmz.getDljd() != null, XdzyDmz::getDljd, xdzyDmz.getDljd())
                .eq(xdzyDmz.getDlwd() != null, XdzyDmz::getDlwd, xdzyDmz.getDlwd())
                .eq(xdzyDmz.getHbgd() != null, XdzyDmz::getHbgd, xdzyDmz.getHbgd());
        return queryWrapper;
    }
}
